{{tag>veille_et_hibernation}}

----
===== Mise en place =====

Si la mise en veille sur ram (suspendre) ou sur disque (hiberner) ne fonctionne pas, il est possible d'utiliser une autre méthode utilisant le paquet [[apt://uswsusp]].

Pour essayer l'hibernation :
<code>
sudo s2disk
</code>
Pour la mise en veille sur ram :
<code>
sudo s2ram
</code>



===== Utiliser uswsusp par défault dans Ubuntu =====

==== 1ère méthode ====

<code>
sudo dpkg-divert --rename --divert /usr/sbin/pmi-disabled /usr/sbin/pmi
</code>


==== 2ème méthode ====

Télécharger ces 2 fichiers :
  * [[http://www.paulbetts.org/projects/hal-system-power-hibernate-linux]]
  * [[http://www.paulbetts.org/projects/hal-system-power-suspend-linux]]
Puis lancer ces commandes dans le répertoire où ces fichiers ont été téléchargés :
<code>
sudo cp hal-system-* /usr/lib/hal/scripts/linux/
sudo chmod 755 /usr/lib/hal/scripts/linux/*
</code>

===== Problèmes connus =====

=== Si vous obtenez un message du type : ===

> ''s2disk: Could not stat the resume device file. Reason: No such file or directory''

== 1- Essayer cette commande : ==
<code>
sudo swapon -a
</code>
Puis réessayer sudo s2disk. Si ça retourne quelque chose comme
<code>
swapon: cannot stat /dev/disk/by-uuid/15ed6769-566c-4228-bb35-d9a0131dc42c: No such file or directory
</code>
Alors :

== 2- Vérifier qu'il y a bien une partition swap et que son UUID correspond bien à celui de fstab : ==
<code>
blkid
</code>
pour avoir l'uuid de la partition swap, puis
<code>
sudo gedit /etc/fstab
</code>
pour modifier l'uuid correspondant

== 3- Vérifier le fichier uswsusp.conf ==
<code>
sudo gedit /etc/uswsusp.conf
</code>

== 4- Reconfigurer uswsusp : ==
<code>
sudo dpkg-reconfigure uswsusp
</code>


=== S'il n'y a plus de son au réveil : ===

<code>
sudo gedit /etc/default/acpi-support
</code>
et remplacer HIBERNATE_MODE=shutdown par HIBERNATE_MODE=platform


=== L'écran reste noir à la reprise de l'hibernation : ===

Commencer par **vérifier que les drivers de la carte vidéo sont bien installés** (tenter le driver propriétaire non libres). Si ça ne marche toujours pas :

<code>
lsmod | grep agp
</code>
Retourne un truc du style  :
<code>
via_agp               9628  1
agpgart                34888  2 nvidia,via_agp
</code>

Il faut supprimer le chargement du driver via agp (dans ce cas):
<code>
sudo gedit /etc/modprobe.d/blacklist
</code>
et rajouter a la fin :
<file>
blacklist via_agp
</file>

Rajouter l'option NvAgp dans xorg.conf
<code>
sudo gedit /etc/X11/xorg.conf
</code>
et dans la Section "Device", après la ligne Driver, rajouter cette ligne :
<file>
    Option         "NvAGP" "1"
</file>
cela permettra d'utiliser les pilotes agp nvidia en priorité.

Redémarer, et vérifier par 
<code>
lsmod | grep agp
</code>
qu'il n'y a plus que :
<code>
agpgart                34888  1 nvidia
</code>



===== Sources =====

[[http://blog.paulbetts.org/index.php/2007/02/11/fixing-software-suspend-hibernate-with-uswsusp-in-ubuntu-feisty-and-edgy/]]

[[http://forum.ubuntu-fr.org/viewtopic.php?id=79559&p=3]]